export default {
	namespaced: true,
	state: () =>({
		address: JSON.parse(uni.getStorageSync('address') || '{}'),
		// 登录成功之后的 token 字符串
		token: uni.getStorageSync('token') || '',
		 // 用户的基本信息
		userInfo: JSON.parse(uni.getStorageSync('userInfo') || '{}'),
		// 重定向的 object 对象 { openType, from }
		redirectInfo: null
	}),
	//方法
	mutations: {
		//更新收货地址
		updateAddress(state,address){
			//保存数据到address
			state.address = address
			//保存到本地中
			this.commit('m_address/saveAddressToStorage')
		},
		//更新用户信息
		updateUserInfo(state,userInfo){
			//保存数据到userInfo
			state.userInfo = userInfo
			//保存到本地中
			this.commit('m_address/saveUserInfoToStorage')
		},
		//保存用户token信息
		updateToken(state,token){
			state.token = token
			//保存到本地中
			this.commit('m_address/saveTokenToStorage')
		},
		//更新用户跳转的路径
		updateRedirectInfo(state,info){
			state.redirectInfo = info
		},
		 // 1. 定义将 address 持久化存储到本地 mutations 方法
		saveAddressToStorage(state) {
			uni.setStorageSync('address',JSON.stringify(state.address))
		},
		// 定义将 userInfo 持久化存储到本地 mutations 方法
		saveUserInfoToStorage(state) {
			uni.setStorageSync('userInfo',JSON.stringify(state.userInfo))
		},
		// 定义将 token 持久化存储到本地 mutations 方法
		saveTokenToStorage(state) {
			uni.setStorageSync('token',state.token)
		}
	},
	//计算属性
	getters: {
		addstr(state){
			if(state.address.provinceName == null) return ''
			return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
		}
	}
}